﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Imaging;

namespace WindowsFormProject.Personel
{
    public partial class Personelfrm : Form
    {
        public Personelfrm()
        {
            InitializeComponent();
        }

        DBBaglantiDataContext db = new DBBaglantiDataContext();

        List<PersonelBilgileri> Personelgirislist = new List<PersonelBilgileri>();

        private void bt_kaydet_Click(object sender, EventArgs e)
        {


            var update = (from x in db.PersonelBilgileris where x.PersonelID == PersonelID.Text select x).FirstOrDefault();

            Guid _UserID = new Guid(UserID.Text);
            if (update != null)
            {
                try
                {

                    update.PersonelID = PersonelID.Text;
                    update.UserID = _UserID;
                    update.PersonelAdi = PersonelAdi.Text;
                    update.PersonelSoyadi = PersonelSoyadi.Text;
                    update.PersonelSeriSiraNo = PersonelSeriSiraNo.Text;
                    update.PersonelBelgeTuru = PersonelBelgeTuru.Text;
                    update.PersonelBabaAdi = PersonelBabaAdi.Text;
                    update.PersonelAnaAdi = PersonelAnaAdi.Text;
                    update.PersonelDogumYeri = PersonelDogumYeri.Text;
                    update.PersonelDogumTarihi = PersonelDogumTarihi.Value;
                    update.PersonelMedeniHali = PersonelMedeniHali.SelectedText;
                    update.PersonelDini = PersonelDini.Text;
                    update.PersonelKanGrubu = PersonelKanGrubu.Text;
                    update.PersonelNufusaKayitliOlduguIl = PersonelNufusaKayitliOlduguIl.Text;
                    update.PersonelNufusaKayitliOlduguIlce = PersonelNufusaKayitliOlduguIlce.Text;
                    update.PersonelNufusaKayitliOlduguMahalle = PersonelNufusaKayitliOlduguMahalle.Text;
                    update.PersonelKimlikCiltNo = PersonelKimlikCiltNo.Text;
                    update.PersonelKimlikAileSiraNo = PersonelKimlikAileSiraNo.Text;
                    update.PersonelKimlikSiraNo = PersonelKimlikSiraNo.Text;
                    update.PersonelKimlikVerildigiYer = PersonelKimlikVerildigiYer.Text;
                    update.PersonelKimlikVerilisNedeni = PersonelKimlikVerilisNedeni.Text;
                    update.PersonelKimlikKayitNo = PersonelKimlikKayitNo.Text;
                    update.PersonelKimlikVerilisTarihi = PersonelKimlikVerilisTarihi.Value;
                    update.PersonelCinsiyet = Convert.ToBoolean(PersonelCinsiyet.SelectedValue);
                    update.PersonelTelefon01 = PersonelTelefon01.Text;
                    update.PersonelTelefon02 = PersonelTelefon02.Text;
                    update.PersonelTelefon03 = PersonelTelefon03.Text;
                    update.PersonelIletisimKurulacakYakini = PersonelIletisimKurulacakYakini.Text;
                    update.PersonelIletisimKurulacakYakiniTElefon = PersonelIletisimKurulacakYakiniTElefon.Text;
                    update.PersonelSirketEposta = PersonelSirketEposta.Text;
                    update.PersonelAciklama = PersonelAciklama.Text;
                    update.PersonelCalisiyormu = Convert.ToBoolean(PersonelCalisiyormu.SelectedValue);
                    update.PersonelMaas = Convert.ToDecimal(PersonelMaas.Text);
                    update.PersonelEnSonZamTarihi = PersonelEnSonZamTarihi.Value;
                    update.PersonelPirimYuzdesi = Convert.ToDecimal(PersonelPirimYuzdesi.Text);
                    update.PersonelSubeID = Convert.ToInt32(PersonelSubeID.SelectedValue);
                    update.PersonelPozisyonID = Convert.ToInt32(PersonelPozisyonID.SelectedValue);
                    update.MuhasebeKodu = MuhasebeKodu.Text;
                    db.SubmitChanges();
                    MessageBox.Show("Kayıt güncellendi");
                }
                catch (Exception)
                {

                }
            }
            else
            {

                PersonelBilgileri pb = new PersonelBilgileri();
               
                pb.PersonelID = PersonelID.Text;
                pb.UserID = _UserID;
                pb.PersonelAdi = PersonelAdi.Text;
                pb.PersonelSoyadi = PersonelSoyadi.Text;
                pb.PersonelSeriSiraNo = PersonelSeriSiraNo.Text;
                pb.PersonelBelgeTuru = PersonelBelgeTuru.Text;
                pb.PersonelBabaAdi = PersonelBabaAdi.Text;
                pb.PersonelAnaAdi = PersonelAnaAdi.Text;
                pb.PersonelDogumYeri = PersonelDogumYeri.Text;
                pb.PersonelDogumTarihi = PersonelDogumTarihi.Value;
                pb.PersonelMedeniHali = PersonelMedeniHali.SelectedText;
                pb.PersonelDini = PersonelDini.Text;
                pb.PersonelKanGrubu = PersonelKanGrubu.Text;
                pb.PersonelNufusaKayitliOlduguIl = PersonelNufusaKayitliOlduguIl.Text;
                pb.PersonelNufusaKayitliOlduguIlce = PersonelNufusaKayitliOlduguIlce.Text;
                pb.PersonelNufusaKayitliOlduguMahalle = PersonelNufusaKayitliOlduguMahalle.Text;
                pb.PersonelKimlikCiltNo = PersonelKimlikCiltNo.Text;
                pb.PersonelKimlikAileSiraNo = PersonelKimlikAileSiraNo.Text;
                pb.PersonelKimlikSiraNo = PersonelKimlikSiraNo.Text;
                pb.PersonelKimlikVerildigiYer = PersonelKimlikVerildigiYer.Text;
                pb.PersonelKimlikVerilisNedeni = PersonelKimlikVerilisNedeni.Text;
                pb.PersonelKimlikKayitNo = PersonelKimlikKayitNo.Text;
                pb.PersonelKimlikVerilisTarihi = PersonelKimlikVerilisTarihi.Value;
                pb.PersonelCinsiyet = Convert.ToBoolean(PersonelCinsiyet.SelectedValue);
                pb.PersonelTelefon01 = PersonelTelefon01.Text;
                pb.PersonelTelefon02 = PersonelTelefon02.Text;
                pb.PersonelTelefon03 = PersonelTelefon03.Text;
                pb.PersonelIletisimKurulacakYakini = PersonelIletisimKurulacakYakini.Text;
                pb.PersonelIletisimKurulacakYakiniTElefon = PersonelIletisimKurulacakYakiniTElefon.Text;
                pb.PersonelSirketEposta = PersonelSirketEposta.Text;
                pb.PersonelAciklama = PersonelAciklama.Text;
                pb.PersonelCalisiyormu = Convert.ToBoolean(PersonelCalisiyormu.SelectedValue);
                pb.PersonelMaas = Convert.ToDecimal(PersonelMaas.Text);
                pb.PersonelEnSonZamTarihi = PersonelEnSonZamTarihi.Value;
                pb.PersonelPirimYuzdesi = Convert.ToDecimal(PersonelPirimYuzdesi.Text);
                pb.PersonelSubeID = Convert.ToInt32(PersonelSubeID.SelectedValue);
                pb.PersonelPozisyonID = Convert.ToInt32(PersonelPozisyonID.SelectedValue);
                pb.MuhasebeKodu = MuhasebeKodu.Text;
                Personelgirislist.Add(pb);
                db.PersonelBilgileris.InsertAllOnSubmit(Personelgirislist);
                db.SubmitChanges();
                FormClear();

            }
        }

        private void bt_UserIDSec_Click(object sender, EventArgs e)
        {
            UserListesi UserListesi = new Personel.UserListesi();
            UserListesi.AcanForm = this;
            UserListesi.Show();
        }

        private void Personelfrm_Load(object sender, EventArgs e)
        {PersonelPozisyonID.DisplayMember = "PersonelPozisyonAdi";
            PersonelPozisyonID.ValueMember = "PersonelPozisyonID"; 
            PersonelSubeID.DisplayMember = "SubeAdi";
            PersonelSubeID.ValueMember = "SubeID";
            
            PersonelSubeID.DataSource = (from x in db.Subelers select x).ToList();
            PersonelPozisyonID.DataSource = (from X in db.PersonelPoziyonlaris select X).ToList();
          
            PersonelCalisiyormu.SelectedIndex = 0;
            PersonelSubeID.SelectedIndex = 0;
            PersonelPozisyonID.SelectedIndex = 0;
            PersonelMedeniHali.SelectedIndex = 0;
            PersonelKanGrubu.SelectedIndex = 0;
            PersonelCinsiyet.SelectedIndex = 0;
        }
      public  void FormClear()
        {
            pictureBox1.Image = null;
            PersonelID.Text = null;
            UserID.Text = null;
            PersonelAdi.Text = null;
            PersonelSoyadi.Text = null;
            PersonelSeriSiraNo.Text = null;
            PersonelBelgeTuru.Text = null;
            PersonelBabaAdi.Text = null;
            PersonelAnaAdi.Text = null;
            PersonelDogumYeri.Text = null;
            PersonelDogumTarihi.Text = null;
            PersonelDini.Text = null;
            PersonelKanGrubu.Text = null;
            PersonelNufusaKayitliOlduguIl.Text = null;
            PersonelNufusaKayitliOlduguIlce.Text = null;
            PersonelNufusaKayitliOlduguMahalle.Text = null;
            PersonelKimlikCiltNo.Text = null;
            PersonelKimlikAileSiraNo.Text = null;
            PersonelKimlikSiraNo.Text = null;
            PersonelKimlikVerildigiYer.Text = null;
            PersonelKimlikVerilisNedeni.Text = null;
            PersonelKimlikKayitNo.Text = null;
            PersonelKimlikVerilisTarihi.Text = null;
            PersonelTelefon01.Text = null;
            PersonelTelefon02.Text = null;
            PersonelTelefon03.Text = null;
            PersonelIletisimKurulacakYakini.Text = null;
            PersonelIletisimKurulacakYakiniTElefon.Text = null;
            PersonelSirketEposta.Text = null;
            PersonelAciklama.Text = null;
            PersonelMaas.Text = null;
            PersonelEnSonZamTarihi.Text = null;
            PersonelPirimYuzdesi.Text = null;
            MuhasebeKodu.Text = null;
            PersonelCalisiyormu.SelectedIndex = 0;
            PersonelSubeID.SelectedIndex = 0;
            PersonelPozisyonID.SelectedIndex = 0;
            PersonelMedeniHali.SelectedIndex = 0;
            PersonelKanGrubu.SelectedIndex = 0;
            PersonelCinsiyet.SelectedIndex = 0;

        }
        PersonelBilgileri kayit;
       
        public void PersonelBilgisiGetir()
        {
            kayit = (from x in db.PersonelBilgileris where x.PersonelID == PersonelID.Text join y in db.Subelers on x.PersonelSubeID equals y.SubeID join z in db.PersonelPoziyonlaris on x.PersonelPozisyonID equals z.PersonelPozisyonID select x).FirstOrDefault();
            if (kayit != null)
            {
                pictureBox1.Image = null;
                PersonelID.ReadOnly = true;
                Guid _UserID = new Guid(kayit.UserID.ToString());
                PersonelID.Text = kayit.PersonelID;
                UserID.Text = _UserID.ToString();
                PersonelAdi.Text = kayit.PersonelAdi;
                PersonelSoyadi.Text = kayit.PersonelSoyadi;
                PersonelSeriSiraNo.Text = kayit.PersonelSeriSiraNo;
                PersonelBelgeTuru.Text = kayit.PersonelBelgeTuru;
                PersonelBabaAdi.Text = kayit.PersonelBabaAdi;
                PersonelAnaAdi.Text = kayit.PersonelAnaAdi;
                PersonelDogumYeri.Text = kayit.PersonelDogumYeri.ToString();
                PersonelDogumTarihi.Value = kayit.PersonelDogumTarihi.Date;
                PersonelMedeniHali.Text = kayit.PersonelMedeniHali.ToString();
                PersonelDini.Text = kayit.PersonelDini;
                PersonelKanGrubu.Text = kayit.PersonelKanGrubu;
                PersonelNufusaKayitliOlduguIl.Text = kayit.PersonelNufusaKayitliOlduguIl;
                PersonelNufusaKayitliOlduguIlce.Text = kayit.PersonelNufusaKayitliOlduguIlce;
                PersonelNufusaKayitliOlduguMahalle.Text = kayit.PersonelNufusaKayitliOlduguMahalle;
                PersonelKimlikCiltNo.Text = kayit.PersonelKimlikCiltNo;
                PersonelKimlikAileSiraNo.Text = kayit.PersonelKimlikAileSiraNo;
                PersonelKimlikSiraNo.Text = kayit.PersonelKimlikSiraNo;
                PersonelKimlikVerildigiYer.Text = kayit.PersonelKimlikVerildigiYer;
                PersonelKimlikVerilisNedeni.Text = kayit.PersonelKimlikVerilisNedeni;
                PersonelKimlikKayitNo.Text = kayit.PersonelKimlikKayitNo;
                PersonelKimlikVerilisTarihi.Value = kayit.PersonelKimlikVerilisTarihi.Date;
                PersonelCinsiyet.Text = kayit.PersonelCinsiyet.ToString();
                PersonelTelefon01.Text = kayit.PersonelTelefon01;
                PersonelTelefon02.Text = kayit.PersonelTelefon02;
                PersonelTelefon03.Text = kayit.PersonelTelefon03;
                PersonelIletisimKurulacakYakini.Text = kayit.PersonelIletisimKurulacakYakini;
                PersonelIletisimKurulacakYakiniTElefon.Text = kayit.PersonelIletisimKurulacakYakiniTElefon;
                PersonelSirketEposta.Text = kayit.PersonelSirketEposta;
                PersonelAciklama.Text = kayit.PersonelAciklama;
                PersonelCalisiyormu.SelectedItem = kayit.PersonelCalisiyormu;
                PersonelMaas.Text = kayit.PersonelMaas.ToString();
                PersonelEnSonZamTarihi.Value = kayit.PersonelEnSonZamTarihi.Date;
                PersonelPirimYuzdesi.Text = kayit.PersonelPirimYuzdesi.ToString();
                PersonelSubeID.SelectedItem = kayit.PersonelSubeID;
                PersonelPozisyonID.SelectedValue = kayit.PersonelPozisyonID;
                MuhasebeKodu.Text = kayit.MuhasebeKodu;
                try
                {
                    MemoryStream mm = new MemoryStream(kayit.PersonelResim.ToArray());
                    Image img = Image.FromStream(mm);
                    pictureBox1.Image = img;

                }
                catch (Exception)
                {

                }
            }
        }
        private void bt_PersonelIDSec_Click(object sender, EventArgs e)
        {
            PersonelListesi PersonelListesi = new Personel.PersonelListesi(0);
            PersonelListesi.AcanForm = this;
            PersonelListesi.MdiParent = this.MdiParent;
            PersonelListesi.Show();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (kayit != null)
            {
                OpenFileDialog op = new OpenFileDialog();
                op.Filter = "Image File|*.jpg";
                if (op.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    Image img = Image.FromFile(op.FileName);

                    MemoryStream mm = new MemoryStream();
                    img.Save(mm, ImageFormat.Jpeg);
                    kayit.PersonelResim = mm.ToArray();
                    db.SubmitChanges();
                    PersonelBilgisiGetir();
                }
            }



        }
    }
}
